﻿
using System;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration;
using Abp.Application.Services.Dto;
using Abp.Extensions;
using KDS.Mes.Mes.Parts;

namespace KDS.Mes.Mes.Parts.EntityMapper.Parts
{

	/// <summary>
    /// 零件信息的数据配置文件
    /// </summary>
    public class PartCfg : EntityTypeConfiguration<Part>
    {
		/// <summary>
        ///  构造方法[默认链接字符串< see cref = "MesDbContext" /> ]
        /// </summary>
		public PartCfg ()
		{
		            ToTable("Part", MesConsts.SchemaName.Basic);
 
      //todo: 需要将以下文件注入到MesDbContext中

  //		public IDbSet<Part> Parts { get; set; }
   //		 modelBuilder.Configurations.Add(new PartCfg());




		    // AlcCode - 关系映射
			HasRequired(a => a.AlcCode).WithMany().HasForeignKey(c => c.AlcCodeId).WillCascadeOnDelete(true);


		    // SeatPosition - 关系映射
			HasRequired(a => a.SeatPosition).WithMany().HasForeignKey(c => c.SeatPositionId).WillCascadeOnDelete(true);

            // 零件号
            Property(a => a.SeatNo).HasMaxLength(20);
            // 靠背分总成零件号
            Property(a => a.BackrestAssemblyNo).HasMaxLength(20);
		    // 座垫分总成零件号
			Property(a => a.CushionAssemblyNo).HasMaxLength(20);
		    // 靠背蒙皮零件号
			Property(a => a.BackrestCoverNo).HasMaxLength(20);
		    // 座垫蒙皮零件号
			Property(a => a.CushionCoverNo).HasMaxLength(20);
		    // 靠背发泡零件号
			Property(a => a.BackrestFoamNo).HasMaxLength(20);
		    // 座垫发泡零件号
			Property(a => a.CushionFoamNo).HasMaxLength(20);
		    // 背骨架零件号
			Property(a => a.BackFrameNo).HasMaxLength(20);
		    // SAB零件号
			Property(a => a.SABNo).HasMaxLength(20);
		    // 头枕零件号
			Property(a => a.HeadrestNo).HasMaxLength(20);
		    // 中央头枕零件号
			Property(a => a.CenterHeadrestNo).HasMaxLength(20);
		    // 手扶枕零件号
			Property(a => a.ArmRestNo).HasMaxLength(20);
		    // 安全带锁扣零件号
			Property(a => a.BuckleNo).HasMaxLength(20);
            // 坐盆零件号
            Property(a => a.SittingBasinNo).HasMaxLength(20);
            // 背板零件号
            Property(a => a.BackplaneNo).HasMaxLength(20);
		    // 调角器零件号
			Property(a => a.AdjusterNo).HasMaxLength(20);
		    // 调角器护板零件号
			Property(a => a.AdjusterPlateNo).HasMaxLength(20);
		    // 座垫支架零件号
			Property(a => a.CushioSsupportNo).HasMaxLength(20);

            Property(a => a.ThreadColorNo).HasMaxLength(20);
        }
    }
}